module teapo.docs.types.text.ts {​ export var expectsFile = /.*\.ts/g; export var acceptsFile = /.*\.ts/g;​ export function loadText(path: string, storage: DocState): CodeMirrorTextDoc { return new TypeScriptDocHandler(); }​ export class TypeScriptDocHandler extends base.SimpleCodeMirrorDocHandler implements typescript.ExternalDocument {​ private _changes: TypeScript.TextChangeRange[] = [];​ constructor() { super(); }​ load(text: string) { }​ open() { }​ shouldTriggerCompletion(textBeforeCursor: string) { return false; } getCompletions(): any { }​ onChanges(docChanges: CodeMirror.EditorChange[], summary: ChangeSummary) {​ this._changes.push(new TypeScript.TextChangeRange( new TypeScript.TextSpan(summary.lead, summary.mid), summary.mid));​ super.onChanges(docChanges, summary); }​ changes(): TypeScript.TextChangeRange[] { return this._changes; }​ }​ export function createCodeMirrorDoc(text: string): CodeMirror.Doc { return new CodeMirror.Doc(text || '', 'typescript'); }​​}